3.3.2 Protect
A protected subexpression is treated as an unevaluable primary whose type is that of the subexpression. Protected subexpressions are useful when applying transformations that manipulate constant subexpressions.
For example, to transform a constant into the square of its root, first factor the
constant. That is, 9 is factored into